As is well known, there are many different languages and alphabets in existence and currently in use around the world. Languages are not specific to one particular country and many countries use multiple languages. For example, Switzerland has three official languages with 65% of the population speaking German, 18% French, and 12% Italian. The remaining population speaks other languages, with English being a widely used additional language. Also, Canada uses both French and English as official languages; Belgium has a split of 55% Dutch, 40% French, and 5% German again, with English being a widely used additional language. In countries where multiple languages are used, it is often necessary to switch from one computer application to another in which separate languages are used. Currently, there is no facility to automatically change the keyboard input language to match the application language when a user moves from one application in a first language to a second application in a second language.
In a windowing application, a multi-lingual user must manually request a remapping of the keyboard for the entire system each time they move to a window which contains text in a different language. For example, a user in Canada may well have multiple applications running, with some of the applications being in French and others in English. Multi-lingual code pages of operating systems support both these languages as far as the display of text is concerned. If the user is looking at an English application, the keyboard is set to receive English as input. If the user moves to the French application they must interrupt their session and issue a systems command which sets the entire system to receive French characters as input. Going back to an English application again causes the user to do a manual reset. Thus, there is a need for a method and apparatus to automatically reconfigure a keyboard input device to support the appropriate language when switching from application to application.